public class Student {


    // 3.类变量：在类中用 static 关键字声明的变量，它们属于类而不是实例。

    public static int onLineNumber = 21;



    // 2.实例变量：在类中声明，但在方法、构造函数或块之外。
    // 公有实例变量name对子类可见
    public String name = "小明";
    // 私有实例变量age，仅在该类可见，不赋值，默认是0
    private int age;



    // main方法，程序入口

    public static void main(String[] args) {
        // 22
        Student.onLineNumber++;

        System.out.println(onLineNumber);

        Student student = new Student();

        student.run();

        student.eat("方便面");

    }



    // 1.局部变量：在方法、构造函数或块内部声明的变量。

    public void run() {
        // 局部变量weight，必须有初始值。
        String weight = "100斤";

        // 因为实例变量age没赋值，所以默认是0
        // 小明现在0岁
        System.out.println(name + "现在" + age + "岁");
        // 小明100斤，跑得很快
        System.out.println(name + weight + "，跑得很快");

    }



    // 4.参数变量：是方法或构造函数声明中的变量
    // 参数变量food
    public void eat(String food) {
        // 小明喜欢吃方便面
        System.out.println(name + "喜欢吃" + food);

    }



}



